package main

import (
	"os"
)

func checkFile(path string) bool {
	_, err := os.Stat(path)
	if err == nil {
		return true
	}

	if os.IsNotExist(err) {
		return false
	}

	return false
}

func isFile(path string) bool {
	fi, e := os.Stat(path)
	if e != nil {
		return false
	}
	return !fi.IsDir()
}

func createFile(path string) bool {
	_, errCreate := os.Create(path)
	if errCreate != nil {
		return false
	} else {
		return true
	}
}

func createDirs(path string) bool {
	errMkdir := os.MkdirAll(path, 077)
	if errMkdir != nil {
		return false
	} else {
		return true
	}
}

/*
判断文件、文件夹是否存在、创建空文件、文件夹
*/
func main() {
	basePath := "C:\\Users\\mlamp\\temp\\go\\file\\check\\03\\demo.txt"

	// createDirs("C:\\Users\\mlamp\\temp\\go\\file\\check\\03")

	// createFile(basePath)

	// if checkFile(basePath) {
	// 	fmt.Println("文件后者文件夹已经存在！")
	// } else {
	// 	fmt.Println("文件不存在！，创建新文件或者文件夹！")
	// 	createFile(basePath)
	// }

	// fileInfo, err := os.Stat(basePath)
	// if err != nil {
	// 	fmt.Println("获得文件出错！", err)
	// }

	/*
		使用下面这些方法的前提是文件必须存在！！！
	*/
	// fmt.Println("fileInfo 信息 开始~~~")
	// fmt.Printf("Name = %v, Size = %v, ModTime = %v, IsDir = %v \n",
	// 	fileInfo.Name(),
	// 	fileInfo.Size(),
	// 	fileInfo.ModTime(), fileInfo.IsDir())
	// fmt.Println("fileInfo 信息 结束~~~")

}
